package com.sgl.gk.mapper;

import com.sgl.gk.controller.vo.DataTraceabilityVo;
import com.sgl.gk.domain.GkStationConfigurationConnect;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface GkStationConfigurationConnectMapper {


    List<GkStationConfigurationConnect> selectByStationIdAndType(GkStationConfigurationConnect gkStationConfigurationConnect);

    GkStationConfigurationConnect selectInfoById(@Param("stationConfigurationConnectId") Long stationConfigurationConnectId);

    List<Long> selectMaxIdGroupByStationId(List<Long> stationIds);

    List<DataTraceabilityVo> list(GkStationConfigurationConnect gkStationConfigurationConnect);

    List<GkStationConfigurationConnect> selectInfoByIds(Long[] ids);

    List<GkStationConfigurationConnect> listReturnEntity(GkStationConfigurationConnect gkStationConfigurationConnect);

    int add(GkStationConfigurationConnect gkStationConfigurationConnect);

    Long getMaxId();


    List<DataTraceabilityVo> selectInfoByIdsAndTime(@Param("longs") Long[] longs, @Param("configurationConnect") GkStationConfigurationConnect configurationConnect);

    int edit(GkStationConfigurationConnect configurationConnect);

    List<GkStationConfigurationConnect> selectInfoByResultLimit20(@Param("result") int result);

    List<DataTraceabilityVo> selectInfoByIdsShowVo(Long[] longs);

    int deleteById(@Param("maxConnectId") Long maxConnectId);

    List<GkStationConfigurationConnect> selectInfoByOenHour();

    int deleteByIds(List<Long> connectIds);

    List<GkStationConfigurationConnect> selectByLastModifyAt(@Param("endTime") Date endtime, @Param("startTime") Date startTime);

    void addAllInfo(GkStationConfigurationConnect gkStationConfigurationConnect);

    List<GkStationConfigurationConnect> selectByLastModifyAtAll(@Param("endTime") Date endtime, @Param("startTime") Date startTime);

    List<DataTraceabilityVo> selectInfoByIdsShowVoOrderByLastModify(Long[] longs);
}
